ホームに戻る
出典 :
スプラッシュ スクリーンを追加する方法 - WPF .NET Framework | Microsoft Docs WPF Windowが最初に表示されたときに処理を行いたい - Qiita
目次 :

スプラッシュスクリーン(スタートアップウィンドウ)とは

アプリケーションが起動した際に最初に表示されるウィンドウや画像のこと。
ロゴやバージョン情報を表示し、初期処理の完了とともに、自動的に消える。
ここでは、WPFにおけるスプラッシュスクリーンの実装方法を解説する。

画像のみを表示する際の手順

  1. 「ソリューション エクスプローラー」から、プロジェクトにスプラッシュに用いる画像ファイルを追加する。
    使用できる画像形式は、BMP 、GIF 、JPEG 、PNG 、TIFF。
  2. 1. で追加した画像ファイル選択し、プロパティウィンドウを開く。
    「ビルド アクション」に「SplashScreen」を選択する。
  3. ビルドを行い、アプリケーションを起動するとスプラッシュが表示される。

ウィンドウを表示する際の手順

スプラッシュとして SplashWindow を表示後、MainWindow を表示する場合を考える。
  1. ウィンドウ SplashWindow を作成する。
  2. 1. で作成した SplashWindow をスタートアップウィンドウに指定する。
    「ソリューション エクスプローラー」から App.xaml を開き、
    「StartupUri」に SplashWindow の(相対)パスを指定する。


  3. SplashWindow の ContentRendered イベントハンドラで必要な処理を実行後、MainWindow を開く。
    // スプラッシュ表示中にバックグラウンドで実行したい処理... : // MainWindow を(モードレスで)開き、自身を閉じる ( new MainWindow() ).Show(); Close();

注意が必要な点

上記の手順 3. において ContentRendered (Windows Formsの Shown に相当)を使用しているのは、SplashWindow が表示されたことを確認した上で処理を行うため。
Window 表示時のイベント発生順序は
  1. Activated
  2. Loaded
  3. (コンテンツ描画完了)
  4. ContentRendered
となっており、Activated や Loaded で処理を行おうとすると、期待通りの動作とならない。